The present invention relates to software development, and more particularly, to providing object code on different operating systems.
The development of software often takes place on a particular computer system which provides comprehensive support for a contemporary development environment, including current compilers, source code managers, and loaders for current object file formats such as GOFF or ELF. However, the software developed within this environment is sometimes intended to be deployed within the environment of e.g., a legacy operating system, which is not actively developed anymore, e.g., for strategic reasons, but is still used as an essential component (for instance, an administration platform) of contemporary computing systems.
The operating system (OS) under which the new software is being developed features an application binary interface (ABI) which does not match the ABI of the legacy OS where it shall be deployed. For this reason, an object file compliant to the development ABI may be not compliant to the deployment ABI. Additionally, the deployment system may be unsupportive of the current compilers, source code managers and/or object file formats of the development system, so an object file compliant to the target ABI may not be able to be created by compiling the source code on the deployment system without amendments to the source code and/or the deployment system. Therefore, it would be desirable to have a method for transforming an object file from the development operating system to the deployment operating system.